从linux安装到完整项目部署到项目运行(全流程)

您所在的位置:网站首页 java 写app不用服务器 从linux安装到完整项目部署到项目运行(全流程)

从linux安装到完整项目部署到项目运行(全流程)

2024-02-01 02:14| 来源: 网络整理| 查看: 265

linux介绍

linux是一般用来部署项目。安装linux操作系统,一般可以采用云服务器,和vmware软件虚拟机。前者需要购买,后者可以使用破解版。这里使用的是云服务器。阿里云(价格相对便宜,仅供学习使用,其它使用途径,买贵的)

ECS购买配置 地址: https://account.aliyun.com/ 进入控制台点击创建实例 付费模式:随意选择 地区:选择最近的 实例规格: 1 cpu 1G内存 ecs.t5-lc2m1.nano 足够, 注意:一般情况不要打开无性能约束模式,好像会收费。突发性性能的实例,效果一般。 镜像:选择centos,版本7,64位,注意镜像市场的配置,可以配置tomcat,mysql,javajdk,ftp,但是新手,就不要从这里选择 其它配置默认点击购买即可 购买之后,重设实例密码 上述步骤操作成功,可以看到实例里面有一个公网ip,以后就是通过此 ip 访问 ECS在这里插入图片描述 使用secureCRT(可以直接使用xshell免配置) 下载地址:这里不提供啦 该软件作用:相当与linux客户端,操作linux 连接linux ,username:root, 密码:llinux实例密码,默认端口号:22,hostname:linux公网ip。protocol:SSH2,其它皆为默认(端口号:该端口ECS云服务器安全组里默认开放的)

在这里插入图片描述4. 最后重置实例即可,重置才可生效在这里插入图片描述

linux目录结构

系统启动必须:

/boot:存放的启动**Linux 时使用的内核文件,包括连接文件以及镜像文件**。 /etc:存放所有的系统需要的**配置文件和子目录列表**,更改目录下的文件可能会导致系统不能启动。 /lib:存放**基本代码库**(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中

指令集合:

/bin:**存放着最常用的程序和指令** /sbin:**只有系统管理员能使用的程序和指令。** (super bin)

外部文件管理:

/dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。 /media:类windows的其他设备,例如U盘、光驱等等,识别后linux会把设备放到这个目录下。 /mnt:临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

临时文件:

/run:是一个**临时文件系统,存储系统启动以来的信息**。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。 /lost+found:一般情况下为空的,系统非法关机后,这里就存放一些文件。 /tmp:这个目录是用来**存放一些临时文件**的。

账户:

/root:**系统管理员的用户主目录**。 /home:**用户的主目录,以用户的账号命名的(下面存放的是linux用户目录)**。 /usr:**用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录(local/存放tomcat)**。 /usr/bin:系统用户使用的应用程序与指令。 /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。 /usr/src:内核源代码默认的放置目录。

运行过程中要用:

/var:**存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)(程序运行的日志在var/log/软件.log下)**。 /proc:**管理内存空间!虚拟的目录**,是系统内存的映射,我们可以直接访问这个目录来,获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件来做修改。

扩展用的:

/opt:默认是空的,我们安装额外软件可以放在这个里面。 /srv:存放服务启动后需要提取的数据(不用服务器就是空) 启动secureCRT通过linux命令操作linux

1.ls 列出当前目录下的所有文件或文件夹2.ls -h 列出目录/文件,并显示其权限

1.前面十个位置,第一个代表:目录/文件 ,剩下的9个,三个为一组,分别表示:可读,可写,可执行,没有rwx,可以用" - "表示没有权限。 2.第1-3确定属主(该文件的所有者,拥有的权限),第4-6同组用户所,拥有的权限,第7-9位,其它用户所拥有的权限 3.剩下的 属于,所属用户,大小,创建日期,文件名等

在这里插入图片描述

4.pwd:查看当前目录 5.mkdir -p /test/abc : 创建abc目录,-p 如果父目录test不存在,则创建 6.touch tes.txt :创建文件 7.rm -rf /test/abc 递归强制删除目录 8.tail -n 20 /var/log/mysqld.log :取出指定文件的最后20条数据 9.cd 目录 :切换目录

通过vim/vi 编辑工具,编辑文本数据。

按下i/a表示输入模式。 退出输入模式按Esc 保存退出 :wq 不保存退出 :q! 使用vsftpRush上传文件到linux(使用xftp可以直接上传免配置)

linux客户端(secureCRT)上操作:

yum ( Yellow dog Updater, Modified)是一个软件包管理器 yum 语法: 1.yum [options] [command] [package ...] 2.options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。 3. command:要进行的操作。 4.package操作的对象。 yum常用命令 yum check-update 列出所有可更新的软件清单 yum install 包名 安装软件包 yum list 包名* 列出可安装的软件包列表 yum search 查找软件包 yum remove 包名 删除软件包

1.vsftpd服务器安装: yum install vsftpd -y2.systemctl start vsftpd.service 启动3.systemctl start vsftpd.service 查看vsftpd软件状态4.vsftpd服务器启动的端口是21 通过netstat -anp | grep 21 命令查看 端口号21的程序的在线情况

linux netstat命令用来查看网络状态 -a表示在线的所有socket(socket实质是计算机间的一种通信) -n通过ip查看 -p表示正在使用的程序 netstat -anp 查看所有在线程序和端口号的使用情况

linux grep用来查找内容包含 字符串的文件grep 21

5.为vsftpd服务器创建一个专门的linux用户

mkdir /home/ftptest 创建ftp用户目录 useradd -d /home/ftptest -g ftp -s/sbin/nologin ftptest 创建一个用户 并指定其不能登录 -d 指定ftptest登入的用户 -g 指定用户所属组 -s 用户登录的shell 用户名 ftptest

6.设置用户目录权限

chown -R ftptest /home/ftptest 修改该目录的属主为ftptest -R :指定目录下的所有文件 chmod -R 777 /home/ftptest 修改指定目录 读写执行 权限 (rwx,r分数是4,w分数是2,x分数是1,无权限-分数是0 累加为7+7+5)权限为775

7.设置密码 : passwd 用户名 回车即可8.配置用户

vi /etc/vsftpd/vsftpd.conf

修改为anonymous_enable=NO 不允许匿名登入(匿名登入不安全)

chroot_list_enable=YES (default follows) chroot_list_file=/etc/vsftpd.chroot_list 将#号全部去掉 vi /etc/vsftpd/chroot_list 增加被要被限制的用户名(我这里是ftptest) vi /etc/vsftpd/vsftpd.conf 最后面加一行 allow_writeable_chroot=YES

这样限制该linux用户访问其它目录,只允许对指定目录(/home/ftptest)的rwx

9.配置vsftpd服务器端口

该服务器有两个端口,一个是21端口 ,另一个是传输端口

vi /etc/vsftpd/vsftpd.conf 添加三行开放传输端口

pasv_enable=YESpasv_min_port=30000pasv_max_port=30010

在ECS服务器 安全组规则中分别添加这两个端口,这样vsftprush客户端就可以访问vsftp服务器了

在这里插入图片描述10.用户鉴权解决

vi /etc/pam.d/vsftpd

注释掉/etc/pam.d/vsftpd文件里这一行:

auth required pam_shells.so

这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.

vi /etc/shells

在/etc/shells文件里面增加一行:/sbin/nologin这样允许不能登录系统的用户通过鉴权

11.安装vsftprush客户端

安装地址:百度有,这里小白不提供了

2.建立与linux中 vsftpd服务器的连接主机地址:就是linux公网ip账户密码:之前新建的

在这里插入图片描述以上步骤走完,需要重启ECS服务器

javajdk安装 yum -y install java-1.8.0-openjdk.x86_64 java -version 测试 出现下图,表示成功

在这里插入图片描述

linux mysql安装

https://www.cnblogs.com/hujiapeng/p/9124298.html

1.注意linux对mysql存在大小写问题配置方法:

1.vi /etc/my.cnf 2.在my.cnf中找到【mysqld】下面加上 lower_case_table_names=1 3.重启mysqld就行了

1.问题:如果修改之后,无法启动,报错Job for mysqld.service failed because the control process exited with error...。可能是你之前安装mysql时,并初始化过mysql数据库。只需要重新删除这一行,即可登入

lower_case_table_names=1

但是mysql大小写问题依旧存在,解决方案:

systemctl stop mysqld.service 然后删除mysql数据 rm -rf /var/lib/mysql 重新执行上面1.2.3步骤 linux tomcat8安装

1.点击一下连接,下载Tomcat8 tar

2.secureCRT客户端

systemctl start vsftpd.service 启动 systemctl status vsftpd.service 查看状态 cd /tmp 切换到临时目录

3.通过vsftprush客户端上传,刚才下载的包

1.下载的数据应该是在 ftptest 指定的登入目录 /home/ftptest下对下载的tar解压 tar -xzf apache-tomcat-8.5.23.tar.gz2.cd / 切换根目录 4.cp /home/ftptest/ apache-tomcat-8.5.23 /tmp 复制tomcat到tmp目录5.mkdir /usr/local/tomcat6.mv apache-tomcat-8.5.23. /usr/local/tomcat

/usr/local/tomcat/apache-tomcat-8.5.23/apache-tomcat-8.5.23/bin/startup.sh 启动tomcat

在这里插入图片描述表示启动成功4.查看8080端口情况

netstat -anp | grep 8080

看是否处于监听状态

5.部署web项目,有好几种部署方式详情看这里https://blog.csdn.net/m0_37505854/article/details/79647963由于我的是maven项目,直接放到webapps下就行了

6.tomcat服务器已经启动,接下来就是,在linux安全组规则中开放 8080端口了,做法和开放vsftpd服务器端口方法一样

linux tomcat中部署maven项目

1.将当前的maven项目打成一个war包在这里插入图片描述2.启动secureCRT

systemctl start mysqld.service 启动mysql

systemctl statu mysqld.service 查看状态

systemctl start vsftpd.service 启动vsftpd服务器 然后查看状态 /usr/local/tomcat/apache-tomcat-8.5.23/bin/startup.sh 启动tomcat 登入vsftprush客户端,连接之后,将war包上传即可 将/home/ftptest/项目war 移到 tomcat/webapps下 即可

从linux安装 -》完整项目部署 -》 项目运行

1.ECS服务器购买 2.linux客户端(secureCRT)下载,配置 常用linux操作 3.vsftp服务器安装, 4.创建访问vsftp服务器的专门linux账户(useradd)(限制专用客户端访问),设置密码,为账户设置目录属主chown,chmod账户对应目录的权限 5.专门配置该用户,在svftpd的配置文件中 ,设置不许匿名登入linux,限制用户访问其它目录,一旦限制该用户访问,该用户的读写便失效了,要在vsftp配置文件中,设置用户对vsftp文件写的权限 6.安全组规则中配置vsftp端口,下载vsftprush客户端 7.下载mysql ,jdk,tomcat 8.部署完整的maven项目到tomcat/webapps下 9.项目运行


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3